package numberOne;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class NumberOne {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {


//        1). 使用反射获取Student的Class对象。
        Class<Student> studentClass = Student.class;
//        2). 获取 “公有、全参构造方法”；
        Constructor<Student> constructor = studentClass.getConstructor(String.class, int.class);
//        3). 调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
        Student student = constructor.newInstance("柳岩", 17);
//        4). 反射获取show()方法
        Method show = studentClass.getMethod("show");
//        5). 调用show()方法
        show.invoke(student);
    }
}
